#ifndef _IAPP_H_
#define _IAPP_H_

#include <iostream>
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>

namespace CEng {
	
	class IApp {
		public:
			std::string			mTitle;
			sf::RenderWindow	mWindow;
			
			IApp(const std::string theTitle);
			~IApp(void);
			void Run(void);
			void AddTexture(const std::string thePath, const std::string theKey);
			void AddSprite(sf::IntRect theIntRect, const std::string theTextureKey, const std::string theSpriteKey);
			void EditSprite(float xpos, float ypos, std::string theSpriteKey);
			
			/* Will probably be removed later */
			sf::Texture GetTexture(const std::string theKey);
			sf::Sprite GetSprite(const std::string theKey);
			
		private:
			bool				mRunning;
			int					mHeight;
			int					mWidth;
			
			std::map<std::string, sf::Sprite>	mSprites;
			std::map<std::string, sf::Texture>	mTextures;
	};
}
#endif